// @ts-nocheck

// #ifndef UNI-APP-X && APP

// #ifdef MP-ALIPAY
interface My {
	SDKVersion: string
}
declare var my: My
// #endif

function compareVersion(v1: string, v2: string) {
	let a1 = v1.split('.');
	let a2 = v2.split('.');
	const len = Math.max(a1.length, a2.length);

	while (a1.length < len) {
		a1.push('0');
	}
	while (a2.length < len) {
		a2.push('0');
	}

	for (let i = 0; i < len; i++) {
		const num1 = parseInt(a1[i], 10);
		const num2 = parseInt(a2[i], 10);

		if (num1 > num2) {
			return 1;
		}
		if (num1 < num2) {
			return -1;
		}
	}

	return 0;
}

function gte(version: string) {
	let { SDKVersion } = uni.getAppBaseInfo();
	// #ifdef MP-ALIPAY
	SDKVersion = my.SDKVersion
	// #endif
	return compareVersion(SDKVersion, version) >= 0;
}
// #endif


/** 环境是否支持canvas 2d */
export function canIUseCanvas2d(): boolean {
	// #ifdef MP-WEIXIN
	return gte('2.9.0');
	// #endif
	// #ifdef MP-ALIPAY
	return gte('2.7.0');
	// #endif
	// #ifdef MP-TOUTIAO
	return gte('1.78.0');
	// #endif
	// #ifdef UNI-APP-X && WEB ||  UNI-APP-X && APP
	return true;
	// #endif
	// #ifndef MP-WEIXIN || MP-ALIPAY || MP-TOUTIAO
	return false
	// #endif

}
